本期要点
- 一台平板,远控电脑,随时随地进行办公
- 异地组网,组建虚拟局域网
- 本人对万物互联的认知
远程办公的折腾
记得是高二那时候起,我就开始折腾异地组网远程办公了。不过是在高考完后到现在,才比较重视。折腾这玩意的原因嘛,零零散散大概似乎好像是看到一些文章,还有b站上对异地组网的介绍(当时觉得什么个人云电脑这些概念呀真是泰酷辣~)。不过最重要的原因是,笔记本电脑好贵,合适的本子一买就4000起步(不是很想让老爸老妈爆金币)。于是就折腾起来了。
最开始的时候,我是采用moonlight在家进行串联(当时还没学会搞端口映射转发啥的~),然而串联仅限于在家,走出家门就寄了。真正算得上远程办公呢,是在b站上了解到蒲公英异地组网这产品。感觉自己发现了新天地,一路搜教程搜资料。借助蒲公英异地组网(随便也试了试向日葵的方案,但免费版的向日葵用下来不咋理想)终于搞出在外面也能远联的办法(花了我100大洋买了个蒲公英盒子,只能说能用,跑rdp还行)
高考完后,我花活多了起来。最重要了解到服务器,docker这概念。之后,去阿里云,腾讯云,百度云,华为云啥的白嫖一个月免费服务器。自从有了服务器,我的远程办公方案终于成熟(基本就是我现在远程办公的方案)。直到现在大三,我也没买笔记本,一直是宿舍台式机加外出用平板远控宿舍台式机。
远程办公方案
rustdesk
用github上的开源项目rustdesk进行远联。体验下来,在4g移动网络下较流畅,目前是我远程办公的首选。
openvpn + RDP
每台windows非家庭版的基本上都预装了rdp远程功能(客户端cmd直接执行mstsc,被控端控制面板/设置里开),平板直接搜微软远程桌面。在所以方案中rdp协议是最流畅的。然而,RDP有致命弱点,用过RDP都知道,RDP牺牲了显卡的部分功能,(这个表述可能不太准,不过我也没想出更好的解释,就这样啦~),一些依赖显卡工作的程序可能无法正常工作,只好当作备选。(至于openvpn后面再讲)
frp + RDP
同上,frp后面再讲
openvpn + VNC (当然可以用frp代替openvpn)
在我看来,vnc是无奈之选。vnc不咋流畅。但是,很奇怪的是,rustdesk和rdp操控虚拟机软件时会出现键盘鼠标出错的问题,然而vnc没这事。所以,远控时如果要用虚拟机,我会开vnc软件来弄。
开始重视安全+懒起来了 - 从frp到openvpn
既然都跑云服务器了,自然端口转发端口映射啥也少不了。最开始用frp来端口转发。3389跑a电脑的rdp,3390跑b电脑的rdp,3391跑c电脑的sshd这样。不过,也是逛了许多文章,被各种暴露端口带来的攻击吓到了(纯良小水管服务器经不起这样玩)。不过更重要的原因是每次加一个端口都要改配置,好烦好累不想动。正好了解到openvpn,组建一个虚拟局域网,上述所有难题都被解决。只要开机自启服务,以后端口随便开,啥配置也不用改,就能直接用。而且服务器上只用暴露一个端口(服务器22端口我也禁了),自带加密,太舒服了。可以做到出门在外也能连接到家中任何一个设备,可以随便搭游戏服务器(虽然说朋友是最高配置啦~)。
单片机也想弄互联
后面我开始接触单片机,主要是用micropython与arduino ide作为开发语言,主要用esp32开发板来开发。单片机常见是跑mqtt进行互联的,但我总感觉跑mqtt实现不了我理想中的效果(出门在外随时随地访问)。这时,我就开始思考,能不能把开发板也加入到我的虚拟局域网中呢。基于这个想法,我就开始行动。首先是移植openvpn。但看了看源码,太复杂太难啦,不咋现实。最后就对着源码与文档,开wireshake抓包分析协议,写了一个pocketopenvpn(当然也开源在了github上),实现了我想要的效果(不过实测下来还是有bug,但最近忙起来没咋接触单片机了就搁置)。现在我基本上在单片机上开tcp或udp服务端,外出时直接连接就能享受服务。
自己的万物互联
一直下来,我有一个想法。能将自己的所有设备,终端互联起来。出门在外,一台手机,一个平板,就能访问任何一个设备,获取信息,执行命令。设备之间相互配合协作,提供强大功能。目前自己只是走了一小步吧,不过希望有一天能实现(咕咕咕~)。